/**
 * 合并两个有序表为新的有序表
 */


#include<stdbool.h>
#include<stdio.h>
typedef int ElementType;

#define MAX_LENGTH 100
typedef struct{
    ElementType data[MAX_LENGTH];
    int size;
} SqList;

/**
 * 就是归并排序的一个子过程
 * @param a 待合并
 * @param b 待合并
 * @param c 返回结果
 * @return 数据是否合法
 */
bool mergeSqList(SqList a,SqList b,SqList*c){
    if(a.size+b.size>MAX_LENGTH) return false;//a+b大于可存储的最大数据长度
    int i=0,j=0,k=0;
    while (i<a.size&&j<b.size)
    {
        if (a.data[i]<=b.data[j])
        {
            c->data[k++]=a.data[i++];
        }else{
            c->data[k++]=b.data[j++];
        }
    }
    while (i<a.size)
    {
        c->data[k++]=a.data[i++];
    }
    while (j<b.size)
    {
        c->data[k++]=b.data[j++];
    }
    c->size=k+1;
    return k;
    
}